相信有許多人很討厭網頁廣告,會在網頁上安裝廣告攔截器如AdBlock、AdGuard等。但有很多裝置或軟體沒有這樣的擴充可以安裝,那我們何不直接在路由器上直接攔截呢?在openwrt上有數個套件可以安裝與執行,多數都是透過解析DNS時直接擋下廣告網站的內容,相比網頁瀏覽器上的阻擋,廣告紀錄檔也得不斷更新才能有較好的效果。來試試吧~
也可以選simple-adblock,功能較簡單易用,而adblock功能設定較多。
opkg update
opkg install adblock
opkg install luci-app-adblock
/etc/init.d/adblock restart
)
安裝與設定會相對更複雜一些,套件庫中雖然有AdGuardhome,不過版本不會是最新,路徑也不太相同。我還是依照教學由github上的進行安裝與執行。
安裝
uname -a
查詢
# 新增資料夾及移動位置
mkdir /opt/ && cd /opt
# 下載壓縮包,連結需要匹配硬體的版本
wget -c https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_arm64.tar.gz
# 解壓縮,名稱也是看下載的名字替換
tar xfvz AdGuardHome_linux_arm64.tar.gz
# 移除壓縮包節省空間
rm AdGuardHome_linux_arm64.tar.gz
/opt/AdGuardHome/AdGuardHome
AdGuard 設定
openwrt 設定
用戶端與測試
安裝教學有提到需要安裝libustream-mbedtls
後才提供https更新廣告列表,但我安裝失敗。除套件包名稱已經不同之外,核心套件已存在於其他套件包中。若久不維護阻擋效果就會不好,再找方式解決。
原先使用opkg install wget
安裝wget指令,從網路上下載網頁、檔案或目錄等功能。目前替換成wget-nossl
與wget-ssl
或是也可用uclient-fetch
套件的功能。
前面使用的方式是直接啟動,重啟openwrt或關閉ssh登入會失效。
所以若要長期使用需要進行安裝與設定背景運作等操作。
or install it directly with:
/opt/AdGuardHome/AdGuardHome -s install
It is also possible to run it in the background (manually started):
opkg update && opkg install coreutils-nohup
nohup /mnt/usb/AdGuardHome/AdGuardHome > /dev/null 2>&1&
DNS轉換需要維護,目前粗淺測試還是有些還無法阻擋,得再多加些AD的規則,預設上面已經有很多可以選擇,或參考加入下兩個網址,也可以餵狗會有許多列表
另如果是自家廣告,網域相同就不會有效果。